package pl;

public abstract class CardFile {
	
	private byte[] Fid;
	private byte FileDescriptorByte;
	
	public FileParameterParser fci;
	public byte[] fciTemplate;
	public byte[] AccessCondtions;

	public CardFile(byte[] fid, byte[] access)
	{
		Fid = new byte[2];
		AccessCondtions = access;
		fci = new FileParameterParser();
		Fid = fid;
	}
	
	public abstract byte[] getFciTemplate();
	
	public abstract void setAccessConditions(byte[] acBytes);
	
	public byte[] getFid() {
		
		return Fid;
	}

	public void setFileDescriptorByte(byte fileDescriptorByte) {
		this.FileDescriptorByte = fileDescriptorByte;
	}
	
	public byte getFileDescriptorByte() {
		return FileDescriptorByte;
	}

	public boolean equals(byte[] fid)
	{
		if (fid[0] == Fid[0] && 
				fid[1] == Fid[1])
			return true;
		else 
			return false;
	} 
}
